package cn.doit.dat06

import scala.collection.mutable
import scala.collection.mutable.{ArrayBuffer, ListBuffer}

/**
 * Array
 * Map
 */
object _01_集合剩下的部分 {
  def main(args: Array[String]): Unit = {
    //可变数组
   /* val buffer: ArrayBuffer[Int] = new ArrayBuffer[Int]()
    //增删改查
    buffer.append(1)
    buffer.append(2,3,4,5)
    println(buffer)
    val arr: Array[Int] = Array(6, 7, 8)
    buffer.appendAll(arr)
    println(buffer)
    //ArrayBuffer(1, 2, 100,200,3, 4, 5, 6, 7, 8)
    buffer.insert(2,100,200)
    buffer.insertAll(2,arr)
    println(buffer)

    //注意，删除元素用的是remove，不是drop，drop的话会返回一个新的buffer给你，而不会删除老buffer中的元素
    buffer.remove(1,3)
    println(buffer)

    buffer.update(1,88)
    println(buffer)

    println(buffer(1))*/

    //集合 List
    /*val arr: Array[Int] = Array(12, 3, 4)
    //不可变集合
    val list: List[Int] = List(1, 2, 3, 4, 5, 6)
    //增删改查
    println(list(0))
    //list里面的元素不能够修改
//    list(0) = 100
    list.:::(arr.toList)

    val ints: List[Int] = list.::(7)//List(7, 1, 2, 3, 4, 5, 6)
    println(ints)

    val list1: List[Int] = 1 :: 2 :: 3 :: Nil
    //Nil 是一个空集合  List(1,2,3)
    val ints1: List[Int] = Nil.::(3).::(2).::(1)*/

    //可变集合

/*    val buffer: ListBuffer[Int] = new ListBuffer[Int]()
    buffer.append(1,2,3,4,5)
    buffer.remove(1,2)
    buffer.insert(1,1,2,3,4)*/

    //特点：去重，唯一
   /* val set: Set[Int] = Set(1, 2, 3, 4, 5, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5)
    println(set.size)
    println(set(3))//判断该元素是否存在于set中

    val set1: mutable.Set[Int] = mutable.Set()
    set1.add(1)
    set1.add(2)
    set1.add(3)
    set1.add(4)
    set1.add(5)
    set1.add(5)

//    val bool: Boolean = set1.remove(6)
    set1.update(6,true)//用来做增加或者删除，根据穿进去的第二个参数是true还是false来决定

    set1.foreach(println)*/

    //定义一个可变的map
    val map: mutable.Map[String, Int] = mutable.Map[String, Int]()
    map.put("zss",1)
    map.put("lss",2)
    map.remove("zss")
    map.getOrElse("abc",-1)
    Map((1,"zss"),(2,"lss"),(3,"ww"))
    Map(1 -> "zss",2 -> "lss", 3 -> "ww")

    //用source 读取数据

  }
}
